package com.hyt.it.ogt.kq.service.gov.model.excel.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.fastjson.JSON;
import com.hyt.core.util.UUIDUtils;
import com.hyt.it.ogt.kq.common.config.exception.KqException;
import com.hyt.it.ogt.kq.common.gov.utils.TextUtil;
import com.hyt.it.ogt.kq.service.gov.model.excel.AreaSheet;
import com.hyt.it.ogt.kq.service.gov.model.excel.ImportSelfAreaSheet;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;

import java.util.ArrayList;
import java.util.List;

/**
 * @author wangrl
 * @since 2021/9/3
 */

@Slf4j
public class SelfLevelListener extends AbstractAnalysisListener<ImportSelfAreaSheet>{

    /**
     * 一次保存数量，防止一次处理的过多造成OOM
     */
    private static final int BATCH_COUNT = 5;

    /**
     * 用于保存数据的list
     */
    List<ImportSelfAreaSheet> dataList = new ArrayList<>();

    /**
     * 这个每一条数据解析都会来调用
     */
    @Override
    public void invoke(ImportSelfAreaSheet areaSheet, AnalysisContext analysisContext) {
        log.info("导入区域数据解析到一条数据: {}", JSON.toJSONString(areaSheet));
        dataList.add(areaSheet);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        log.info("所有区域数据解析完毕");
    }

    public List<ImportSelfAreaSheet> getDataList() {
        return dataList;
    }

}
